/**
 * 查询接口参数类型
 * @author luguoxiang
 * @date 2021-09-07
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */

import type { QueryTypeEnum } from "@/soar/enums/SoarQueryEnum";

export interface QueryParams {
  /**
   * 响应所需字段（数据库 select 列表）
   */
  fields?: string|string[];
  /**
   * 排序（数据库 order by 列表）
   */
  orderBys?: string|string[];
  /**
   * 过滤器（数据库 where 列表）
   */
  filters?: string|string[];
  /**
   * 过滤器（数据库 where 列表）
   * key格式：字段-条件  或  字段|字段2-条件
   * value格式：值  或  值1~值2~值n
   * 示例：'name-like': '小明'
   */
  [p: string]: any;
}

export interface PageQuery {

  /**
   * 页码
   */
  pageNo: number;

  /**
   * 分页大小
   */
  pageSize: number;

  /**
   * 查询类型
   */
  queryType: 'all' | 'list' | 'total';
}

export interface SoarQuery extends QueryParams,PageQuery {
  /**
   * 是否使用 SoarQuery
   */
  useSoarQuery?: boolean;
}